Automine version 1.61 (7th April 1999)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Copyright
~~~~~~~~~
(c) Musus Umbra 1998

Automine (the program code, graphics and resources) is the property of
Musus Umbra (A.J.Holdsworth).

You may freely distribute *unmodified* copies of this software,
provided that you do not charge for them (a reasonable media/handling
charge is acceptable).


Disclaimer
~~~~~~~~~~
Automine is supplied in good faith, but with no warranty of any kind.  The
author cannot be held responsible for any loss or damage, however caused,
resulting from the use, abuse, or inability to use Automine.

The author does however take bug reports seriously, and welcomes any
feedback - be it good or bad.



Automine Features
~~~~~~~~~~~~~~~~~
 Fully compatible with RISC OS 2 through RISC OS 4
 StrongARM compatible
 Will even run from floppy on a 0.5Mb ARM 2 machine!
 Saved games and the high score table are encrypted
 All graphics compressed to save disc space
 Automatic selection of 3D/2D templates and icons
 Interactive help support
 High score table
 Hint facility
 Automatic player with statistics
 Save/Load game facility

 Standard difficulty levels
 Special psychic level for a quick, but hard, challenge

 Two different timer/flag display modes
 Four sets of handcrafted graphics
 Specially optimised graphics for 2, 16 and 256 colour modes
 Specially optimised graphics for high and TV resolution modes
 A total of 621 lovingly !Paint-ed sprites!

 Corners are safe option
 Autoclear around safe squares option
 Mark facility
 'Double-click' autoclear
 Pause facility (just close or iconise the main window!)
 Masochist's game completion test (ie. no flags used!)
 Automatic 'first click protection'

 Design guided by years of minesweeper playing
 Written by a minesweeper addict for minesweeper addicts!


 Contact me if you want a RISC OS 2 version - whilst the code
  is fully RO2 compatible, the standard distribution requires
  RISC OS 3 or later (due to having been compiled with CC v5).



Introduction
~~~~~~~~~~~~

What is Automine ?
==================

Automine is a RISC OS desktop version of the (now classic) logic/strategy
game Minesweeper.

Often, in the past, I lamented the lack of a high-quality minesweeper game
for the RISC OS desktop.  True enough, there are several desktop
minesweeper games available, however none of them completely satisfied
me - either they lacked some fundamental feature I expected, or their user-
interface and graphics were below the standard I expected.

Then, one day whilst playing the Windoze version of minesweeper (for my
sins), I got to thinking about different ways a computer player might be
implemented.  After that, Automine was pretty much inevitable really.

Basically, Automine is a high quality desktop minesweeper game that is
absolutely brimming over with features.  Please take the time to read this
manual - Automine contains several useful features that are not obvious.

Automine supports interactive help.  To see this help, use !Help (or
!BubbleHlp, etc) and move the pointer around Automine's windows.


The Rules
=========

The game is played on a rectangular grid of squares (sometimes called
cells or fields).  Any given square may contain a mine, or it may be safe.

Your task is to determine which squares contain mines, and which are
safe.  In order to win, you must place a flag on each of the squares
containing a mine, and clear every other (safe) square.

Should you attempt to clear a square that contains a mine... KABOOM....
and as in real life, you only get one chance.

If you mark a safe square with a flag, there's no penalty... but then, of
course, you won't have enough flags.

When the game starts, you have as many flags as there are mines hidden in
the board.  There is no way of getting extra flags.  You can remove flags
from squares if you decide that they are safe after all.

The game is played against the clock, and a table of the fastest sweepers
is kept.



Finding the Mines
=================

When you clear a square, it will change to display a number.  This number
is the total number of mines in the adjacent squares.  Note that
diagonally adjacent squares are included!

By using these numbers, it is usually possible to work out where all the
mines are.  Of course, usually isn't always, and sometimes you'll have to
guess.  Such is life.



Difficulty Levels
=================

The game can be played on any reasonably sized board, with any reasonable
number of mines hidden in it, but there are three standard sizes that most
(if not all) minesweeper games implement.

These standard levels are:
	Beginner	8x8 with 10 mines hidden.
	Intermediate	16x16 with 40 mines hidden.
	Expert		30x16 with 99 mines hidden.

Automine also provides another standard level that is designed to be a
quick, but difficult, challenge:
	Psychic		8x8 with 16 mines hidden.

Only the best times for these standard levels are recorded in the hall of
fame...  Even if you set up a board that's exactly the same as a standard
level, your time won't be considered for inclusion.



Loading and Playing the game
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Loading
=======

Automine is loaded in the usual RISC OS manner, either by double-clicking
on the !Automine icon in a filer display, or by double-clicking on a saved
game (if Automine isn't already running).

If Automine is loaded as a result of double-clicking on a saved game, the
usual welcome screen will be by-passed and the game will resume
immediately.


Starting a game
===============

Once Automine is loaded, clicking with SELECT on its iconbar icon will
open the main playing window.  When Automine is first loaded, this window
will contain a welcome screen.

Clicking in the main playing window will create a new game.

Note that the game timer only starts counting when you make your first
move (i.e. clear or flag a square).

Whenever a game is over (due to winning or losing), Automine will display
the position of all mines and incorrectly placed flags, etc.  At this
point, clicking with in the window has exactly the same effect as
described above.

At any time, you can abandon the current game and start a new one by clicking
on the mine in the time/flag display.  Clicking with Select will create a
new game (and stop the automatic player, if it is active).  Clicking with
Adjust will create a new game and start the automatic player.


Making a move
=============

The mouse is used to indicate both the square you wish to move in, and
also the type of move you wish to make.  You can click on any square in
the playing window - you aren't restricted to moving onto squares adjacent
to ones you've already used.

Click the appropriate mouse button(s) on the square you wish to move in:

SELECT	Clears the square (and possibly some surrounding squares if the
	autoclear option is enabled).

ADJUST	Either marks the square with a flag, or if it is already flagged,
	replaces the flag with a mark (if marks are enabled), or removes
	the flag.

Clicking both SELECT and ADJUST clears the square, and all surrounding
squares that are not flagged as holding mines.

If your very first move would have been to try to 'clear' a mine (ie. you
would have been killed), Automine will quietly move that mine to another
square (if possible) - you won't be able to tell that it's done it.  This
isn't cheating (think about it if you don't believe me).



Winning the game
================

When the game is won, Automine will change the graphics in the playing
window to display the position of all mines as a smiley face, and the
blank squares (i.e. those with no neighbouring mines) as bunches of
flowers.

Other than the thrill of getting a fast time, this is the only reward you
get!


"...As we danced to the Masochism Tango..."
===========================================

Experienced (or masochistic) players may like to attempt to clear the
board without using any flags...  In order to win, you must have cleared
all the safe squares, and there must be no flags placed (marks are simply
ignored if used).

Note that if you aren't using flags then you can't use the double-click
autoclear either (try it if you don't see why :)



High scores
~~~~~~~~~~~

The high-score table
====================

Automine keeps a permanent record of the fastest completion times for the
four standard difficulty levels, along with the name of the sweeper and
the date and time the feat was achieved.

The high-score table can be viewed at any time by choosing Scores... from
the game's menus, or by clicking ADJUST on the iconbar icon.



When you get a high-score
=========================

In the context of Automine, a high-score is a winning time that is faster
than the previous holder's time.

Should you achieve a high-score, a window will appear for you to enter
your name for inclusion in the high-score table.

This window has two buttons at the bottom: Smug and Modesty Forbids.  If
for some reason you don't want your achievement to be recorded in the
table, clicking on Modesty Forbids will (after a request for confirmation)
ignore your record time.

Click on Smug to enter your time and name into the table.



Resetting the high-scores
=========================

There is no automatic way of resetting the high-score table.  Should you
wish to reset it, you must delete the data file called scr inside the
Resources directory inside !Automine.


What is a good time?
====================

The best times recorded during testing are:

Beginner	7 secs		The Musus Umbra
Intermediate	43 secs		Michael Wood
Expert		112 secs	Michael Wood
Psychic		13 secs		Michael Wood

Don't worry if your times are slower than those above...  In fact, if your
times are much better than these, you should perhaps consider giving
minesweeper a rest for a while...



Options
~~~~~~~

The Customise Game window
=========================

The options window can be opened by choosing Choices... from the game's
menus.

You can use this window to choose the difficulty level, turn various
features on and off, change the board graphics, etc.

Almost all of the options in this window take effect immediately - only
the sprite selection is delayed until OK is clicked on.



Setting the default options
===========================

Automine comes with default options set that you may wish to alter.

To do this, set the options you require in the Customise Game window, and
then click on Save (this also acts as a click on OK).

If you want the options window to remain open, use ADJUST to click on the
button.


Sprites
=======

A great deal of time and effort has gone into making Automine the best
looking minesweeper game for RISC OS.  In particular, there are four sets
of graphics, each of which contains special sprites for monochrome, 16
colour and 256 colour screen modes in both high and TV standard resolution.

You can select which of the sets of graphics you wish to use:
Automine	this is the standard graphics set, designed to be a good
		compromise between size and detail.
Large		this set is very similar to the standard Automine set, but
		is larger (and therefore clearer).
Small		this set is only really suitable for use with high
		resolution screen modes, but can still be used with TV
		resolution screens.
W*ndows		this set very closely mimics the graphics used by the
		Windoze version of minesweeper.

Generally, Automine will use the correct resolution sprites with the best
number of colours for the screen mode that you are playing in.  You can,
however, instruct Automine to always use the monochrome graphics (which
are high contrast and surprisingly easy to play with).

If you select a different graphics set to the one currently loaded,
Automine will load the new graphics into memory (which will require more
memory to do).  If for some reason the load fails (perhaps due to lack of
memory), the old graphics are still used.



Auto clear
==========

When autoclear is turned on, Automine will automatically clear all the
squares around a square with no adjacent mines, since all the squares
around such a square must be safe.

Of course, if any of those squares has no adjacent mines, the process
continues.

Automine allows you to turn this (very useful) feature off if you like
life to be difficult (and apparently some people do!)



Corners are safe
================

If this option is on, Automine won't hide a mine in any of the four
squares at the corner of the board.

This is useful as it gives you four guaranteed safe moves at the start of
every game.

Some people argue that this option is only for wusses, so Automine allows
you to turn it off.

Note that this option applies to the next created game...



Marks
=====

Sometimes when you're clearing a board you can't quite work out where some
of the mines are, but you can have a good guess.

It's possible in these circumstances to use the mark feature to place a ?
on a square that you think probably contains a mine.  Later, when you're
sure where the mine is, you may remove the mark (and then either clear or
flag the square as appropriate).

If this option is enabled then clicking ADJUST on a flagged square will
remove the flag as usual, but then place a mark on that square.  To remove
the mark, click ADJUST on it.

Marks can be annoying if you never use them (they mean that it takes an
extra mouse click to remove an incorrect flag), so Automine allows you to
turn this facility off.



Alternative time/flag display
=============================

Automine provides two different displays of the number of flags you have
left, and the time you have taken on a board.  You can use this option to
switch between them.

There is no difference in the way these displays work, this is purely an
aesthetic option.



Save autoplay stats
===================

As the autoplay function works, it keeps track of how many sure moves and
guesses it has made, and also how many games it has won/lost.

If you set this option, these statistics will be saved when you quit
Automine.  They will then automatically be reloaded when Automine is next
loaded.



Setting the difficulty level
============================

Automine allows you to select either one of the four standard difficulty
levels, or set up a board to your own liking.

To choose a standard level, simply click on it.

To set up your own level, click on the Custom icon, and enter the size of
board you require and how many mines Automine should hide in it.

The next game that is created will be of that size with that many mines.
If no game is currently underway, one will be created when you click on OK
(or Save).



Autoplay
~~~~~~~~

What is Autoplay?
=================

Automine provides a simple automatic player, called autoplay.  This
automatic player is mainly just an oddity to provide a little
entertainment when you don't want to play yourself.

Autoplay also provides a player that novice players can watch and learn
from.  With this in mind, the autoplay algorithm is quite crude and
doesn't consider some aspects of the game that an experienced human player
does.

A spin-off from autoplay is the hint facility (of which, more later).

Note that if you engage autoplay, the game timer is disabled.


Guesses and sure moves
======================

Autoplay only takes a very simple view of the board, and tries to find a
square that logically must be a mine, or safe.  If it cannot find a
certain move it will look at the board again,  this time looking for a
square that is probably safe or a mine, based on the squares immediately
around it.

Just before autoplay makes each move, it flashes a coloured box in the
square it has chosen.  If this square is red (or a solid outline in the
monochrome graphics), then autoplay is sure of its move.  If the square is
green (or dotted in monochrome), then autoplay is guessing.
Of course, a wrong guess may then lead on to a sure move that is also
incorrect...



Starting Autoplay
=================

You can start the automatic player at any time that there is a game for it
to play.  Automine will be quite happy to let the autoplay system take
over from you in the middle of a game, for instance.

You can start autoplay by selecting Autoplay from the playing window's
menu, or by clicking ADJUST in the playing window when a game has ended.

To disengage autoplay, select Autoplay from the playing window's menu.



Autoplay speed
==============

Because autoplay is intended mainly as a simple tutor, it is useful to be
able to specify at what speed it should play.

The Autoplay submenu from the playing window's menu allows you to specify
the speed.  Selecting one of these speeds will also engage autoplay if it
isn't already playing.

When autoplay is flashing the little square to tell you whether its move
is a guess or certain, you can click in the main playing window to make
autoplay stop flashing and actually make the move.
The Fastest speed  goes as quickly as is reasonable, and so you probably
won't even get a chance to see the squares...

It's probably a good idea to watch autoplay on the Slowest speed setting
to start with, and click the mouse when you've worked out why autoplay has
chosen that particular square (and whether it's going to clear or flag the
square!)



Continuous Autoplay
===================

Normally when autoplay finishes game (either by winning ot losing), it
disengages.  If you want it to start a fresh game and carry on instead,
select Continuous from the Autoplay submenu.

To turn continuous autoplay back off, select Continuous again to un-tick
it.



Autoplay Statistics
===================

As autoplay works, it keeps track of how many of its moves were sure, and
how many times it was forced to guess.  It also keeps track of how many
games it won, and how many it lost.

To see these statistics, choose Stats from the Autoplay submenu.

The Autoplay Statistics window also allows you to reset the counts to
zero, should you wish to.

Note that you can make Automine save these statistics when it is quit, and
reload them automatically using the Save autoplay stats option in the
Customise Game window.



Hints
~~~~~

Consequences of using hints
===========================

Because it would be unfair to allow high-scores where the player had used
the hint facility of Automine, the game timer is disabled if you ask for a
hint.

Hints are only really there to be used by novice players who are still
trying to get the hang of the game.



Asking for a hint
=================

To ask Automine for a hint, select Hint in the main playing window's
menu.  One square on the board will then begin to flash a symbol
indicating the move that the automatic player would make at that point.

To cancel the hint (i.e. to stop it flashing), click in the main playing
window.



What the hint symbols mean
==========================

There are four symbols that Automine can display as a hint.  They are:

A smiley face	the square is definitely safe.
A mine		the square is definitely a mine.
A faded smiley	the square is probably safe.
A faded mine	the square is probably a mine.

Note that the hint given is based on the board as displayed... so, if
you've put a flag in the wrong place the hint may well be wrong.

Neither autoplay, not the hint system actually look at where the mines are
hidden.  They both consider the board exactly as it appears on the screen.

Note that in some combinations of resolution, colours and graphics set,
the faded symbols may be replaced with the appropriate symbol featuring a
? (eg. a mine with a ? over it is equivalent to the faded mine symbol).

The faded/? symbols correspond to the green squares flashed in autoplay,
and the unfaded symbols correspond to the red squares.



Saving and Loading games
~~~~~~~~~~~~~~~~~~~~~~~~

Saving the game
===============

Automine allows you to save a game to disc, perhaps to continue later, or
so that you can go back to it if you make a mistake later.

Note that to prevent cheating, saving or loading a game will disable the
game timer.

To save a game, use the standard RISC OS save box that appears when you
open the Save submenu from the main playing window's menu.



Loading a saved game
====================

To load a saved game, either double-click on it in a filer display, or
drag it to Automine's window or iconbar icon.

If a game is already in progress, you will be asked to confirm the load.

If you double-click on a saved game, and Automine isn't already loaded
(but has been seen by the filer), Automine will load and then load the
saved game.



Miscellany
~~~~~~~~~~

Contacting the author
=====================

The Musus Umbra may be reached via e-mail at:
	musus@argonet.co.uk

or by snail mail at:
	Adny,
	c/o 23 Baronsway
	Whitkirk
	Leeds
	LS15 7AW
	England.

The Musus Umbra also has a web site at:
	http://www.argonet.co.uk/users/musus/
future updates (if any) will be available from there.


Credits
~~~~~~~

The Musus Umbra would like to thank the following people for their various
suggestions, bug reports and opinions:

Play-testing
============

The principal play-testers were:
Lady Charis of Verelanthe - the Musus Umbra's good lady wife, known in
real life as Olga.
Velvet - a near terminal minesweeper addict who spent far more time than
is healthy playing Automine.


Beta-testing
============

The following kind and brave souls volunteered their services as beta-testers:
R. Fred Williams, Rosemary Miskin, Richard Goodwin, Peter Price, Kenton
Drover, Laurence Boorer (and the kids of St. Anne's RC School, Stockport),
Mike Wood, Dave Parr, Kathryn Edwards, Thomas Olsson, and Peter Burwood. 

The Musus Umbra would particularly like to thank Fred Williams (for finding
the first fatal bug and making several complaints about the way I'd done
things...) and Mike Wood (for suggestions, ludicrously fast times, and a
'featurette' report).



Software
========

The Musus Umbra made extensive use of the following pieces of software
during the creation and subsequent refinement of Automine:

 Acorn's Desktop C (release 4 and 5)

 Nick Roberts' ASM assembler
	http://www.argonet.co.uk/users/tigger/

 Guttorm Vik's excellent StrongED text editor
 Guttorm's equally excellent StrongHelp utility
	http://home.eunet.no/~guttorvi/strong.html

 Niklas Rjemo's AS assembler
 InfoZip zipfile creation/extraction tools
 Dick Alstein's excellent TemplEd template editor
	All available from HENSA

 Castle Technology's StormDMA32 SCSI card + software.
	http://www.castle-technology.co.uk/

 Jonanthan Duddington's Pluto mail/news reader
	http://www.argonet.co.uk/users/jsd/

 John Kortink's PackDir directory archiver
	http://www.inter.nl.net/users/J.Kortink

 RISC OS 3.1 and 3.6 !Paint & !Draw
 !ChangeFSI
 Impression Style
 Alsystems' PowerROM (in a VTi SCSI card)
